package com.example.azheng.rxjavamvpdemo.mvp.contract;

import com.example.azheng.rxjavamvpdemo.base.BaseView;
import com.example.azheng.rxjavamvpdemo.bean.BaseObjectBean;
import com.example.azheng.rxjavamvpdemo.bean.code.CodeBean;

import java.util.Map;

import io.reactivex.Flowable;

public interface RegisterContract {
    interface Model {
        Flowable<BaseObjectBean<Object>> register(Map map);
        Flowable<BaseObjectBean<CodeBean>> getCode();
    }
    interface View extends BaseView{
        @Override
        void showLoading();

        @Override
        void hideLoading();

        @Override
        void onError(Throwable throwable);
        void registerSuccess(BaseObjectBean<Object> codeBean);
        void getCodeSuccess(BaseObjectBean<CodeBean> codeBean);
    }
    interface Presenter{
        void register(Map map);
        void getCode();
    }
}
